package interfaces;


public class Superman implements HeroeVolador {

	enum Habilidad {
		SUPERFUERZA, SUPERVELOCIDAD, INVULNERABILIDAD, VISIONX, VISIONCALORIFICA
	};

	private String nombre;
	private Posicion posInicial;
	private Habilidad habilActual;
	private int salud;
	
	public Superman() {
		this.nombre = "Clark Kent";
		this.posInicial = new Posicion();
		this.habilActual = Habilidad.SUPERFUERZA;
		this.salud = saludInicial;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public Posicion getPosInicial() {
		return posInicial;
	}

	public void setPosInicial(Posicion posInicial) {
		this.posInicial = posInicial;
	}

	public Habilidad getHabilActual() {
		return habilActual;
	}

	public void setHabilActual(Habilidad habilActual) {
		this.habilActual = habilActual;
	}

	public int getSalud() {
		return salud;
	}

	public void setSalud(int salud) {
		this.salud = salud;
	}

	@Override
	public void luchar() {
		System.out.println("SPLASHHHHH");
	}

	@Override
	public void correr() {
		System.out.println("Corro!!");
		posInicial.setX(posInicial.getX()+2000);
	}

	@Override
	public void salvar() {
		System.out.println("Salvando a Louis Lane");
	}

	@Override
	public void disparar() {
		setHabilActual(Habilidad.VISIONCALORIFICA);
		System.out.println("Usando: "+getHabilActual());
		
	}
	
	@Override
	public void volar() {
		System.out.println("Capa y a volar!!");
		posInicial.setX(posInicial.getX()+5000);
		posInicial.setY(posInicial.getY()+10000);
	}

	@Override
	public void aterrizar() {
		System.out.println("Aterrizando!!!");
	}
	
	@Override
	public String toString() {
		return ("Superman: \n Nombre: " + getNombre()
		+ " Posicion: " + getPosInicial()
		+ " Habilidad: " + getHabilActual()
		+ " Salud: " + getSalud() + "\n");
	}
	
}
